1. Field of the Invention
The present invention relates generally to cellular telecommunications systems and methods for transmitting data packets between a transmitter and a receiver over an air interface, and specifically to providing reliable transmission of the data packets over the air interface.
2. Background and Objects of the Present Invention
There are many applications where large volumes of digital data must be transmitted and received in a substantially error free manner. In telecommunications and satellite communications systems, in particular, it is imperative that the transmission of digital data over the air interface be completed in as accurate a manner as is possible. Accurate transmission and reception of digital data has, however, been difficult because the communications channels utilized for data transmissions over the air interface are plagued by error introducing factors. For example, such errors may be attributable to transient conditions in the channel, such as noise and distortion, or they may be due to recurrent conditions attributable to defects in the channel. The existence of transient conditions or defects results in instances where the digital data is not transmitted properly or cannot be reliably received.
Digital data is often transmitted in packets (or blocks or frames), in which each packet includes a number of information bytes followed by a frame check sequence of bits. The errors that typically occur in the transmission and reception of digital data are of two types: xe2x80x9crandomxe2x80x9d channel errors and xe2x80x9cburstxe2x80x9d channel errors. Random channel errors occur when the value of a single bit has been altered, while burst channel errors occur when the values of a continuous sequence of adjacent bits have been altered. The frame check sequence included in each data packet is used to detect when and where a channel error has been introduced into the data packet.
Considerable attention has been directed toward discovering methods for addressing the problems concerning errors which typically accompany data transmission activities over the air interface. For example, two common techniques of error correction include Forward Error Correction (FEC) and Automatic Repeat Request (ARQ). The FEC error correction technique adds redundant information in the transmitter, which is used by the receiver to correct transmission errors, whereas in the (ARQ) error correction technique, the receiver requests retransmission of data packets not correctly received from the transmitter. Typically, a combination of FEC and ARQ techniques are applied to recover from transmission errors. The applied ratio of FEC verses ARQ depends upon the type of data being transmitted. For instance, real time data with strong requirements on small delay, such as voice, are normally carried with only FEC. On the other hand, for data with loose requirements with respect to delay, such as file transfers, usually a combination of FEC and ARQ is applied to maximize the probability of correct delivery.
When examining existing data applications, different needs of transmission reliability can be observed. For instance, a file transfer application needs a transmission with high reliability, whereas an application transferring information of more temporary importance may only need moderate transmission reliability. If the high reliability and moderate reliability applications are retransmitted the same number of times, the retransmission of the moderate reliability application may utilize the channel capacity needed for retransmission of more important data. In addition, in the Internet, there is an increasing amount of applications exchanging information of time bounded importance. Examples include stock quota broadcast applications and interactive video games, in which position updating data is exchanged between players.
The degree of reliability of a cellular service using both FEC and ARQ is currently regulated by the number of retransmissions allowed before a data packet is dropped. For example, currently in the Global System for Mobile Communications (GSM) system, when a retransmission counter exceeds a predefined value, both the receiver and the transmitter will empty their entire buffers and all counters and timers are re-initialized. The GSM retransmission timeout mechanism is insufficient for many applications that require high reliability of data because all data packets are lost upon retransmission timeout, including those data packets that were correctly received but were out of sequence. Yet another approach is the approach taken for the IS-95 version of the Radio Link Protocol. In that approach, data packets are retransmitted twice at the most. Thereafter, the receiver releases whatever it has (whether corrupted or not) to the transmitter. In a system with variable rate channels, such as most packet-based systems, the number of allowed retransmissions does not translate directly to a finite delay. Thus, there arises a need to set the level of transmission reliability for cellular services, in order to optimally transmit data packets over the air interface.
It is, therefore, an object of the present invention to set transmission reliability for retransmission protocols.
A preferred embodiment of the present invention is directed to telecommunications systems and methods for implementing a semi-reliable retransmission protocol that utilizes both selective repeat ARQ error correction and segmentation and assembly of data packets. This novel semi-reliable retransmission protocol includes a discard timer for triggering a retransmission timeout. Thus, the retransmission timeout becomes insensitive to variations in the channel rate and is capable of being defined based upon the maximum delay allowable for the retransmission of corrupted data packets over the air interface. For every data packet received by the transmitter a discard timer monitoring the transmission time of the data packet is initialized. If the discard timer elapses during the transmission of the data packet, this data packet is marked as discarded in the transmitter, and a xe2x80x9cmove receiving windowxe2x80x9d request message is sent to the receiver to ensure that transmissions received by the receiver that carry that data packet are discarded in the receiver. The value for the discard timer can be set in various ways, depending upon the Quality of Service (QoS) levels in the network. In one embodiment of the present invention, the discard timer value can be set according to the maximum delay allowable for the type of data included within the packet.